﻿using SYH.Domain.Applicaton;
using SYH.Domain.Common;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SYH.DataAccess
{
    public class EntityDbContext : DbContext
    {
        public EntityDbContext()
            : base("NncqContext")
        {
        }

        #region 1.应用系统基础数据模型定义约束相关
        public IDbSet<SystemUser> SystemUsers { get; set; }
        public IDbSet<ApplicationMemu> ApplicationMemus { get; set; }
        public IDbSet<ApplicationLog> ApplicationLogs { get; set; }
        public IDbSet<SystemRole> RootRoles { get; set; }
        public IDbSet<SystemRoleMenu> RootRoleMenus { get; set; }
        public IDbSet<SystemGroupRTag> SystemGroupRTags { get; set; }
        public IDbSet<SystemLoginInfo> SystemLoginInfos { get; set; }
        #endregion

        #region 2.应用系统公共数据模型定义约束相关

        public IDbSet<BusinessFile> BusinessFiles { get; set; }
        public IDbSet<SystemConfig> SystemConfigs { get; set; }
        public IDbSet<AccAssociation> AccAssociations { get; set; }
        #region 2.1.业务对象信息标签


        #endregion

        #region 2.2.业务对象数据管理授权定义模型约束相关


        #endregion

        #region 2.3.业务对象数据共享定义模型约束相关


        #endregion

        #region 2.4.业务消息管理部分


        #endregion

        #region 2.5. 即时消息管理部分

        #endregion

        #endregion

        #region 3.应用系统用户与组织机构基础数据模型定义约束相关

        #endregion

        #region 4.应用系统工作流基础数据模型定义约束相关

        #endregion


        /// <summary>
        /// o库兼容代码
        /// </summary>
        /// <returns></returns>
        //protected override void OnModelCreating(DbModelBuilder modelBuilder)
        //{
        //    modelBuilder.HasDefaultSchema("SYSTEM");
        //}

        public static EntityDbContext Create() => new EntityDbContext();
    }
}
